Avatar motion generating method and head mounted display system

ABSTRACT

An avatar motion generating method and a head mounted display system are provided. In the method, an input event is received, and the input event is related to sensing result of a user. First avatar motion is generated based on one of predefined motion data, motion sensing data and a combination thereof at the first period of time. Second avatar motion is generated based on another of the predefined motion data, the motion sensing data and the combination thereof at the second period of time. Accordingly, the motion of the avatar could be smooth and natural.

BACKGROUND OF THE DISCLOSURE 1. Field of the Disclosure

The present disclosure generally relates a method for generating themotion of an avatar, in particular, to an avatar motion generatingmethod and a head mounted display system.

2. Description of Related Art

Technologies for simulating senses, perception and/or environment, suchas virtual reality (VR), augmented reality (AR), mixed reality (MR) andextended reality (XR), are popular nowadays. The aforementionedtechnologies can be applied in multiple fields, such as gaming, militarytraining, healthcare, remote working, etc.

In order to let the user perceive the simulated environment as a realenvironment, motion of the body portions in the real world would betracked, so that the displaying image and the motion of an avatar on aVR, AR, MR or XR display can be changed in response to the motion of theuser. For example, the motion sensing result of a hand-held controllercan be used to estimate the pose of a hand and generate a correspondingmotion accordingly. However, the estimation of the pose may not beaccurate in some situations. Eventually, an abnormal motion may bepresented on the avatar. Therefore, there are still lots of technicalproblems that should be improved for the motion simulation of theavatar.

SUMMARY OF THE DISCLOSURE

Accordingly, the present disclosure is directed to an avatar motiongenerating method and a head mounted display system, in which the motionof an avatar may be changed to a predefined motion in response to somesituations.

In one of the exemplary embodiments, an avatar motion generating methodincludes, but not limited to, the following steps. First avatar motionis generated based on one of predefined motion data, motion sensing dataand a combination thereof at the first period of time. Second avatarmotion is generated based on another of the predefined motion data, themotion sensing data and the combination thereof at the second period oftime.

In one of the exemplary embodiments, a head mounted display systemwearable on a user's head includes, but not limited to, a memory and aprocessor. The memory is used for storing a program code. The processoris coupled to the memory and loads the program code to perform thefollowing steps. The processor generate first avatar motion a determinedresult, switches between predefined motion data and motion sensing databased on one of predefined motion data, motion sensing data and acombination thereof at the first period of time, and generates secondavatar motion based on another of the predefined motion data, the motionsensing data and the combination thereof at the second period of time.

It should be understood, however, that this Summary may not contain allof the aspects and embodiments of the present disclosure, is not meantto be limiting or restrictive in any manner, and that the invention asdisclosed herein is and will be understood by those of ordinary skill inthe art to encompass obvious improvements and modifications thereto.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings are included to provide a furtherunderstanding of the disclosure, and are incorporated in and constitutea part of this specification. The drawings illustrate embodiments of thedisclosure and, together with the description, serve to explain theprinciples of the disclosure.

FIG. 1 is a block diagram illustrating a head mounted display systemaccording to one of the exemplary embodiments of the disclosure.

FIG. 2 is a flowchart illustrating an avatar motion generating methodaccording to one of the exemplary embodiments of the disclosure.

FIG. 3 is a timing diagram illustrating the switching between differentmotion data according to one of the exemplary embodiments of thedisclosure.

FIG. 4 is a timing diagram illustrating the switch between differentmotion data according to one of the exemplary embodiments of thedisclosure.

FIG. 5 is a schematic diagram illustrating the human body portions of anavatar according to one of the exemplary embodiments of the disclosure.

DESCRIPTION OF THE EMBODIMENTS

Reference will now be made in detail to the presently preferredembodiments of the disclosure, examples of which are illustrated in theaccompanying drawings. Wherever possible, the same reference numbers areused in the drawings and the description to refer to the same or likeparts.

FIG. 1 is a block diagram illustrating a head mounted display (HMD)system 100 according to one of the exemplary embodiments of thedisclosure. Referring to FIG. 1, the HMD system 100 includes, but notlimited to, an input apparatus 110, a memory 140 and a processor 150.The HMD system 100 is adapted for VR, AR, MR, XR or otherreality-related technology.

The input apparatus 110 is used for obtaining user data. The user datais related to a sensing result of a user. The sensing result may berelated to the voice, the motion, the facial expression and/or theoperation of the user. Alternatively, the user data could be acombination of voice data, motion sensing result, and image data.

In one embodiment, the input apparatus 110 includes an image sensor 111.The image sensor 111 may be a camera, such as a monochrome camera or acolor camera, a deep camera, a video recorder, or other sensor capableof capturing images.

In some embodiments, the image sensor 111 may be used to capture towardone or more human body portions of the user, to generate an imageincluding the human body portion of the user. For example, the humanbody portions may include a face, a hand, a head, an ankle, a leg or awaist of the user.

In some embodiments, the image sensor 111 may be used to capture towardthe face of a user, to generate a facial image including one or botheye, one or both ear, a nose, a mouse, a face shape, a hair shape, aneyebrow, a bread or a combination thereof of the user.

In one embodiment, the input apparatus 110 includes an audio receivingapparatus 112. The audio receiving apparatus 112 may include, but notlimited to, a microphone, an analog-to-digital converter, a filter, andan audio processor. The microphone of the audio receiving apparatus 112may receive sound waves (e.g., generated by human voices, ambientsounds, etc.) and converting them into sound data.

In some embodiments, the audio receiving apparatus 112 is used toreceive the voice of a user and generate voice data. In someembodiments, the HMD system 100 may not have the audio receivingapparatus 112.

In one embodiment, the input apparatus 110 includes a motion sensor 113.The motion sensor 113 may be an accelerometer, a gyroscope, amagnetometer, a laser sensor, an inertial measurement unit (IMU), aninfrared ray (IR) sensor, or any combination of aforementioned sensors.In the embodiment of the disclosure, the motion sensor 113 is used forsensing the motion of one or more human body portions of the user, togenerate a sequence of motion sensing result of the sensor 110 (e.g.sensed strength values, etc.) at several time points. For one example,the motion sensing result includes a 3-degree of freedom (3-DoF) data,and the 3-DoF data is related to the rotation data of the human bodyportion in a three-dimensional (3D) space, such as accelerations in yaw,roll and, pitch. For another example, the motion sensing result includesa relative position and/or displacement of a human body portion in the2D/3D space.

It should be noticed that the motion sensor 113 could be embedded in ahandheld controller or a wearable apparatus, such as a wearablecontroller, a smartwatch, an ankle sensor, a head-mounted display (HMD),or the likes.

In some embodiments, the HMD system 100 further includes a display 130.The display 130 may be a liquid-crystal display (LCD), a light-emittingdiode (LED) display, an organic light-emitting diode (OLED) display, orother displays. In the embodiment of the disclosure, the display 130 isused for displaying images. It should be noted that, in someembodiments, the display 130 may be a display of an external apparatus(such as a smartphone, a tablet, or the likes), and the externalapparatus can be placed on the main body of the HMD system 100.

The memory 140 may be any type of a fixed or movable Random-AccessMemory (RAM), a Read-Only Memory (ROM), a flash memory, a similar deviceor a combination of the above devices. The memory 140 records programcodes, device configurations, buffer data or permanent data (such asimage data, voice data, motion sensing data, predefined motion data,motion sensing result, etc.), and these data would be introduced later.

The processor 150 is coupled to the input apparatus 110, the display130, and the memory 140. The processor 150 is configured to load theprogram codes stored in the memory 140, to perform a procedure of theexemplary embodiment of the disclosure.

In some embodiments, functions of the processor 150 may be implementedby using a programmable unit such as a central processing unit (CPU), amicroprocessor, a microcontroller, a digital signal processing (DSP)chip, a field-programmable gate array (FPGA), etc. The functions of theprocessor 150 may also be implemented by an independent electronicdevice or an integrated circuit (IC), and operations of the processor150 may also be implemented by software.

It should be noticed that the processor 150 may not be disposed at thesame apparatus with the input apparatus 110. However, the apparatusesrespectively equipped with input apparatus 110 and the processor 150 mayfurther include communication transceivers with compatible communicationtechnology, such as Bluetooth, Wi-Fi, infrared ray (IR), or physicaltransmission line, to transmit or receive data with each other. Forexample, the audio receiving apparatus 112 and the processor 150 may bedisposed in an HMD while the image sensor 111 is disposed outside theHMD. For another example, the processor 150 may be disposed in a serverwhile the image sensor 111 and the audio receiving apparatus 112 beingdisposed outside the server.

To better understand the operating process provided in one or moreembodiments of the disclosure, several embodiments will be exemplifiedbelow to elaborate the operating process of the HMD system 100. Thedevices and modules in the HMD system 100 are applied in the followingembodiments to explain the avatar motion generating method providedherein. Each step of the method can be adjusted according to actualimplementation situations and should not be limited to what is describedherein.

FIG. 2 is a flowchart illustrating an avatar motion generating methodaccording to one of the exemplary embodiments of the disclosure.Referring to FIG. 2, the processor 150 may generate first avatar motionbased on one of predefined motion data, motion sensing data and acombination thereof at a first period of time (step S210). Specifically,the predefined motion data is pre-stored in the memory 140 withoutmotion sensing result of a human body portion of the user. In otherwords, the predefined motion data is not generated based on thecurrently detected motion sensing result of the user. For example, thepredefined motion could be the motion of a hand for shooting darts orshooting hoops. The predefined motion data may include specific motiondata (such as 3-DoF data or 6-DoF data, accelerations in yaw, roll and,pitch, the displacement, etc.) for each predefined motion of differenthuman body portions. Taking the foot of the user as an example, thepredefined motion may be lifting, pointing, kicking, stepping, orjumping.

It should be noted that there may be more than one predefined motion forpresenting the current state or emotion on the avatar. For example,there may be 10 predefined motions for an idle state of the avatar, andthe processor 150 may select one of the 10 predefined motions to be thereference of the predefined motion data. In some embodiments, there maybe merely one predefined motion for presenting one current state or oneemotion on the avatar. For example, the motion of a hand for shootingdarts.

On the other hand, the motion sensing data is generated based on thecurrently detected motion sensing result of the user. The motion sensingdata is related to one or more essential motions, and the motion sensingdata may include specific motion data based on the motion sensing result(such as 3-DoF or 6-DoF data, accelerations in yaw, roll and, pitch, thedisplacement, etc.) for each essential motion.

In one embodiment, the processor 150 may determine a pose of one or morehuman body portions based on the motion sensing result and inversekinematics to generate the motion sensing data. Based on the inversekinematics, given position information of the end of the arm can be usedto estimate joint parameters (such as the angle between the upper armand the forearm, the angle between the shoulder and the upper arm,etc.). The given position information can be provided by the motionsensing result. For example, 6-DoF data obtained from the motion sensor113 disposed at a handheld control can be used to determine the positionof the hand of the user. The joint parameters can be determined based onthe determined position from the motion sensing result of the motionsensor 113 and/or the image sensor 111, so as to further determine thepose of the arm based on kinematics equations. It should be noted thatthe poses of the legs, the upper body, the head, and other human bodyportions can be estimated based on inverse kinematics, too, and theirdetailed description would be omitted.

In some embodiments, the motion sensor 113 may be disposed at multiplehuman joints or body portions, or the image sensor 111 may capture allof or the desired human body portions of the user, the motion sensingresult of the motion sensor 113 and/or the image sensor 111 can be usedfor estimating the pose of the corresponding human body portiondirectly.

In one embodiment, the processor 150 may generate the combination of thepredefined motion data and the motion sensing data. In some embodiments,the combination could be a weight combination of the predefined motiondata and the motion sensing data. For example, the position based on thepredefined motion data is given with a first weight, the position basedon the motion sensing data is given with a second weight, and the weightcombination would be the weighted calculation on the positions based onthe predefined motion data and the motion sensing data with the firstand the second weights. In another embodiment, the combination would beanother predefined motion data based on the original predefined motiondata and the motion sensing data. For example, the positions and therotation situations based one the original predefined motion data andthe motion sensing data would be considered as references to determinethe position and the rotation situation in the another predefined motiondata.

The avatar motion is the motion of the avatar in the virtualenvironment. The processor 150 may select one of the predefined motiondata, the motion sensing data and the combination thereof for the firstavatar motion at the first period. In other words, a predefined motion,a sensing motion of the user, or the combination thereof would beperformed on the avatar at the first period.

The processor 150 may generate second avatar motion based on another ofthe predefined motion data, the motion sensing data and the combinationthereof at a second period of time (step S230). Specifically, comparedwith the first avatar motion at the first period, another avatar motion(i.e., the second avatar motion) is generated based on a differentmotion data at the second period. For example, the first avatar motionis generated based on the motion sensing data, and the second avatarmotion is generated based on the predefined motion data. For anotherexample, the first avatar motion is generated based on the combinationof both motion data and the second avatar is generated based on thepredefined motion data.

In general, the estimated pose merely based on the motion sensing datamay result in an abnormal motion on the avatar. It should be noted thatit can be sure that the predefined motion data may present a natural andnormal motion of the human. In some situations, the use of thepredefined motion data may prevent the abnormal motion on the avatar.However, in other situations, it would need to reflect the actual motionof the user based on the motion sensing data. Therefore, a change ofmotion data among the motion sensing data, predefined motion data andthe combination thereof may help in different situations.

In one embodiment, two different avatar motions for one human bodyportion would be generated at different time periods. In thisembodiment, the processor 150 may receive an input event from the userdata obtained by the input apparatus 110 at the first period.Specifically, the input event may be encountering a scenario/level ofthe game, a motion of the user being detected, user data (such as voicedata, image data, motion sensing result, text data, input operation of auser, etc.) being received, etc. For example, the reception of the voicedata by the audio receiving apparatus 112 could be an input event. Foranother example, the detection of the motion sensing result by themotion sensor 113 could be another input event. Alternatively, theselection of cinema scenario could be an input event.

In one embodiment, the processor 150 may determine whether the inputevent is met one of predefined triggering conditions to generate adetermined result. Specifically, each predefined triggering conditionmay be corresponding to a movement of one human body portion, a rotationof one human body portion, a pose of one human body portion, a gestureof a hand, an emotion, a scenario, a level of a game, or akeyword/keyphrase. The predefined triggering condition could be that,for example, the head of the user moves horizontally; the head of theuser rotates clockwise and horizontally; the hand of the user exists inthe image data; the hand of the user makes a fist; the lips of the usermake a smile; entering a basketball game scenario; the keywords “veryhappy” is detected in the voice data. Regarding different types of thepredefined triggering conditions, the processor 150 may use the imageidentification, the semantic analysis, the motion state analysis, orother technologies to compare the input event with the correspondingpredefined triggering condition. The determined result would be theinput event is met a corresponding predefined triggering condition orinput event is not met a corresponding predefined triggering condition.

Then, the processor 150 may generate the second avatar motion at thesecond period in response to the input event being met anyone of thepredefined triggering conditions. In one embodiment, the processor 150may switch between predefined motion data and motion sensing dataaccording to the determined result. The predefined triggering conditionscorrespond to the conditions for the change of motion data. If thedetermined result is that the input event is met one of the predefinedtriggering conditions, the motion data for generating the motion of theavatar may be changed from the motion sensing data to the predefinedmotion data or from the predefined motion data to the motion sensingdata. For example, the processor 150 detects that the input event isthat the head of the user moves horizontally, the processor 150 maychange the motion data from the motion sensing data to the predefinedmotion data, so that a predefined walk motion (i.e., the second avatarmotion) for legs may be presented on the avatar. For another example,the processor 150 detects that the input event is that the hand of theuser exists in the camera image obtained from the image sensor 111, theprocessor 150 may change the motion data from the predefined motion datato the motion sensing data, so that the hand of the avatar may movebased on the motion sensing result (i.e., the second avatar motion).Still another example, the processor 150 detects that the input event isthat a throw motion of the hand of the user is detected when the hand ofthe avatar holds a dart, the processor 150 may change the motion datafrom the motion sensing data to the predefined motion data, so that thehand of the avatar may shoot the dart based on the predefined motion(i.e., the second avatar motion).

In another embodiment, the processor 150 may obtain a behavior state ofthe avatar from a state machine, and the behavior state is related tothe currently performing behavior of the avatar. The behavior state ofthe state machine may be idle, standing, sitting, walking, running,jumping, or other states. The processor 150 may compare the input eventwith the current behavior state in response to the determined resultbeing that the input event is met one of the predefined triggeringconditions, and the compared result may trigger the change of the motiondata.

In one embodiment, the processor 150 may provide a priority for theinput event, and compare the priorities of the input event and thebehavior state. It is assumed that the priority of the input event andthe priority of the current behavior state are fixed. It means that eachinput event has a corresponding priority, and each behavior state hasanother corresponding priority. The processor 150 may switch between thepredefined motion data and the motion sensing data in response to theinput event having higher priority than the behavior state, and thebehavior state would be modified accordingly. For example, the currentbehavior state is standing, and the standing state for the legs of theavatar has a lower priority than the input event which is that the headof the user moves horizontally. Then, the modified behavior state wouldbe the walking state. On the other hand, in response to the input eventnot having a higher priority than the behavior state, the change of themotion data would be no need.

In another embodiment, the processor 150 may provide a weight for theinput event, and compare the weights of the input event and the behaviorstate. It is assumed that the weight of the input event and the weightof the current behavior state are variable based on different scenarios.The processor 150 may switch between the predefined motion data and themotion sensing data in response to the input event having higher weightthan the behavior state. For example, at the first time point, theweight of the input event is 80, the weight of the behavior state is 90,and the change of the motion data would not happen. Then, at the secondtime point, the weight of the input event is 90, the weight of thebehavior state is 70, and the change of the motion data may happen.

It should be noticed that the motion data to present the behavior statemay be the predefined motion data or the motion sensing data based onthe actual situation.

In one embodiment, the processor 150 may switch between the predefinedmotion data and the motion sensing data in response to the input eventnot exist. For example, no motion is detected from the handheldcontroller, the hand of the user does not exist in the camera image, orthe user chooses to exit from the basketball game, etc. In someembodiments, some input events may be predefined with continuationtimes. When a corresponding continuation time expires, the processor 150may determine that the input event does not exist. Then, the processor150 may return to a previous behavior state from the behavior statemodified by the input event. For example, the input event is a laughfrom the voice data obtained from the audio receiving apparatus 112, apredefined laugh motion would be performed on the avatar's hand for 2seconds, and then the motion of the avatar's hand may be based on motionsensing data.

In some embodiments, the processor 150 may further receive one or moresecond input events (i.e., other input events). If the input event stillexists, the processor 150 may compare the second input event with theinput event to generate a comparing result. For example, the timing, thepriorities, or the weights of these input events may be compared. Theprocessor 150 may generate third avatar motion of the human body portionof the avatar based on motion data of one of the input event and thesecond input event according to the comparing result. For example, thepriority of the second input event is higher than the input event, theprocessor 150 may choose the second input event to be the reference ofthe motion data. For another example, the weight of the input event ishigher than the second input event, the processor 150 may choose theinput event.

When the processor 150 determines the motion data, the processor 150 maygenerate the motion of the human body portion of the avatar based on thepredefined motion data and the motion sensing data at different timeperiods. Specifically, the motion of the avatar presented in the display130 can be generated according to the determined motion data. Forexample, the motion of the leg of the user is lifting, and the avatarmay lift its leg based on the motion sensing data. For another example,the legs of the avatar perform the predefined walk motion. However,regarding one human body of the avatar, the processor 150 may choose oneof the predefined motion data and the motion sensing data one time.

FIG. 3 is a timing diagram illustrating the switching between differentmotion data according to one of the exemplary embodiments of thedisclosure. It is assumed that the motion of the avatar is generatedbased on the motion sensing data SMD at first time period td1. At thetime point tp1, an input event ie1 is received, and the processor 150determines to switch the motion data from the motion sensing data SMD tothe predefined motion data PMD. Then, the motion of the avatar isgenerated based on the predefined motion data PMD at the time periodtd2. At the time point tp2, another input event ie2 is received, and theprocessor 150 determines to switch the motion data from the predefinedmotion data PMD to the motion sensing data SMD. Then, the motion of theavatar is generated based on the motion sensing data SMD at the timeperiod td3.

Sometimes, the change of motion data may result in an abnormal behavioron the avatar. In one embodiment, the processor 150 may generatetransition avatar motion based on both the predefined motion data andthe motion sensing data. It means that a transition would be insertedbetween two motion data. For example, the processor 150 may find someintermediate positions between the final position of the avatar's handbased on the motion sensing data and the initial position of theavatar's hand based on the predefined motion data as parameters of thetransition motion data. Similarly, the pose and the rotation manner ofthe human body portion of the transition avatar motion is determinedbased on a transition between the motion sensing data and the predefinedmotion data.

Then, the processor 150 generates the motion of the human body portionof the avatar based on the transition avatar motion at the third periodof time between the first period and the second period in which thefirst avatar motion is generated at the first period and the secondavatar motion is generated at the second period. FIG. 4 is a timingdiagram illustrating the switch between different motion data accordingto one of the exemplary embodiments of the disclosure. Referring to FIG.4, the difference from the embodiment of FIG. 3 is that, in response tothe input event ie1 being received, the processor 150 generates themotion of the avatar based on the transition motion data TMD1, which isthe combination of the predefined motion data PMD and the motion sensingdata SMD, between time points tp1 and tp3. Then, at the time point tp3,the processor 150 generates the motion of the avatar based on thepredefined motion data PMD. In addition, in response to the input eventie2 being received, the processor 150 generates the motion of the avatarbased on the transition motion data TMD2, which is the combination ofthe predefined motion data PMD and another motion sensing data SMD,between time points tp2 and tp4. Then, at the time point tp4, theprocessor 150 generates the motion of the avatar based on the motionsensing data SMD.

The aforementioned embodiments introduce the switch of motion databetween the motion sensing data and the predefined motion data for onehuman body motion. It means that, for one human body portion, the motionsensing data and the predefined motion data may used at different timeperiods. In some embodiment, for multiple human body motion, theprocessor 150 may generate the motion of a first human body portion ofthe avatar based on the predefined motion data and the motion of asecond human body portion of the avatar different from the first humanbody portion based on the motion sensing data at the same time period.

FIG. 5 is a schematic diagram illustrating the human body portions of anavatar according to one of the exemplary embodiments of the disclosure.Referring to FIG. 5, it is assumed that the body of the avatar isdivided into 5 human body portions B1˜B5. The head mounted displaysystem 100 may provide handheld controllers with the motion sensor 113and a head mounted display with the image sensor 111 and the motionsensor 113 to detect the motion of the human body portions B1˜B3.Therefore, the motion of the human body portions B1˜B3 may be generatedbased on the motion sensing data from the motion sensing result of theimage sensor 111 and the motion sensor 113. On the other hand, themotion of the human body portions B4 and B5 may be generated based onthe predefined motion data.

It should be noticed that, base on different design requirements, thebody of the avatar may be further divided into more or less human bodyportions. For example, the human body portions B1 is further dividedinto two portions, which are the arm and the palm. For another example,merely the human body portions B1 and B2 are generated based on themotion sensing data, and other human body portions B3˜B5 are generatedbased on the predefined motion data.

It will be apparent to those skilled in the art that variousmodifications and variations can be made to the structure of the presentdisclosure without departing from the scope or spirit of the disclosure.In view of the foregoing, it is intended that the present disclosurecover modifications and variations of this disclosure provided they fallwithin the scope of the following claims and their equivalents.

What is claimed is:
 1. An avatar motion generating method, comprising:generating first avatar motion based on one of predefined motion data,motion sensing data and a combination thereof at a first period of time;receiving an input event in the first period of time, wherein the inputevent is related to motion sensing result sensing from the user, and themotion sensing result is determined based on the motion sensing data;obtaining a behavior state of an avatar from a state machine, whereinthe behavior state represents currently performing behavior of theavatar; determining the input event is met one of a plurality ofpredefined triggering conditions for a transition among the predefinedmotion data, the motion sensing data, and the combination thereof, andfurther comparing a first value of the input event with a second valueof the behavior state of the avatar; in response to the first value ofthe input event being higher than the second value of the behavior stateof the avatar and the input event being met one of the plurality ofpredefined trigger conditions, generating second avatar motion based onanother of the predefined motion data, the motion sensing data, thecombination thereof, and the comparing result with the behavior state ofthe avatar at a second period of time; and in response to the firstvalue of the input event being lower than the second value of thebehavior state of the avatar but the input event being met one of theplurality of predefined triggering conditions, generating the secondavatar motion based on the same one of the predefined motion data, themotion sensing data, and the combination thereof as the first period atthe second period of time.
 2. The avatar motion generating methodaccording to claim 1, further comprising: performing the step ofgenerating the second avatar motion in response to the input event beingmet anyone of the plurality of predefined triggering conditions.
 3. Theavatar motion generating method according to claim 1, wherein the stepof comparing the input event with the behavior state comprises:switching between the predefined motion data and the motion sensing datain response to the input event having higher priority than the behaviorstate, wherein a priority of the input event and a priority of thebehavior state are fixed, the priority of the input event is the firstvalue, and the priority of the behavior state is the second value. 4.The avatar motion generating method according to claim 1, wherein thestep of comparing the input event with the behavior state comprises:switching between the predefined motion data and the motion sensing datain response to the input event having higher weight than the behaviorstate, wherein a weight of the input event and a weight of the behaviorstate are variable, the weight of the input event is the first value,and the weight of the behavior state is the second value.
 5. The avatarmotion generating method according to claim 2, wherein the step ofgenerating the second avatar motion comprises: switching between thepredefined motion data and the motion sensing data in response to theinput event not exist.
 6. The avatar motion generating method accordingto claim 1, further comprising: generating a transition motion dataaccording to both the predefined motion data and the motion sensingdata; and generating transition avatar motion based on the transitionmotion data at a third period of time between the first period and thesecond period.
 7. The avatar motion generating method according to claim2, further comprising: receiving a second input event; comparing thesecond input event with the input event to generate a comparing result;and generating third avatar motion based on motion data of one of theinput event and the second input event according to the comparingresult.
 8. The avatar motion generating method according to claim 1,wherein the step of generating the first avatar motion based on one ofthe predefined motion data, the motion sensing data and the combinationthereof at the first period of time, further comprises: generatingmotion of a first human body portion of an avatar based on thepredefined motion data and motion of a second human body portion of theavatar based on the motion sensing data at the same period of time. 9.The avatar motion generating method according to claim 1, furthercomprising: determining a pose of a human body portion based on motionsensing result and inverse kinematics to generate the motion sensingdata.
 10. A head mounted display system, wearable on a user's head, thehead mounted display system comprising: a memory, storing a programcode; and a processor, coupled to the memory, and loading the programcode to perform: generating first avatar motion based on one ofpredefined motion data, motion sensing data and a combination thereof ata first period of time; receiving an input event in the first period oftime, wherein the input event is related to motion sensing resultsensing from the user, and the motion sensing result is determined basedon the motion sensing data; obtaining a behavior state of an avatar froma state machine, wherein the behavior state represents currentlyperforming behavior of the avatar; determining the input event is metone of a plurality of predefined triggering conditions for a transitionamong the predefined motion data, the motion sensing data, and thecombination thereof, and further comparing a first value of the inputevent with a second value of the behavior state of the avatar; inresponse to the first value of the input event being higher than thesecond value of the behavior state of the avatar and the input eventbeing met one of the plurality of predefined trigger conditions,generating second avatar motion based on another of the predefinedmotion data, the motion sensing data, the combination thereof, and thecomparing result with the behavior state of the avatar at a secondperiod of time; and in response to the first value of the input eventbeing lower than the second value of the behavior state of the avatarbut the input event being met one of the plurality of predefinedtriggering conditions, generating the second avatar motion based on thesame one of the predefined motion data, the motion sensing data, and thecombination thereof as the first period at the second period of time.11. The head mounted display system according to claim 10, wherein theprocessor is configured to perform: performing the step of generatingthe second avatar motion in response to the input event being met anyoneof the plurality of predefined triggering conditions.
 12. The headmounted display system according to claim 10, wherein the processor isfurther configured to perform: switching between the predefined motiondata and the motion sensing data in response to the input event havinghigher priority than the behavior state, wherein a priority of the inputevent and a priority of the behavior state are fixed the priority of theinput event is the first value, and the priority of the behavior stateis the second value.
 13. The head mounted display system according toclaim 10, wherein the processor is further configured to perform:switching between the predefined motion data and the motion sensing datain response to the input event having higher weight than the behaviorstate, wherein a weight of the input event and a weight of the behaviorstate are variable, the weight of the input event is the first value,and the weight of the behavior state is the second value.
 14. The headmounted display system according to claim 11, wherein the processor isfurther configured to perform: switching between the predefined motiondata and the motion sensing data in response to the input event notexist.
 15. The head mounted display system according to claim 11,wherein the processor is further configured to perform: generating atransition motion data according to both the predefined motion data andthe motion sensing data; and generating transition avatar motion basedon the transition motion data at a third period of time between thefirst period and the second period.
 16. The head mounted display systemaccording to claim 11, wherein the processor is further configured toperform: receiving a second input event; comparing the second inputevent with the input event to generate a comparing result; andgenerating third avatar motion based on motion data of one of the inputevent and the second input event according to the comparing result. 17.The head mounted display system according to claim 10, wherein theprocessor is further configured to perform: generating motion of a firsthuman body portion of an avatar based on the predefined motion data andmotion of a second human body portion of the avatar based on the motionsensing data at the same period of time.
 18. The head mounted displaysystem according to claim 10, wherein the processor further performs:determining a pose of a human body portion based on motion sensingresult and inverse kinematics to generate the motion sensing data.